package Jsoup;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;

/**
 * Element:元素对象
 * 1. 获取子元素对象（注意和document对象的区别，他是获取子元素的集合）
 *    - getElementById(String id):根据id属性值获取唯一的element对象
 *    - getElementsByTag(String tagName):根据标签名称获取元素对象集合
 *    - getElementsByAttribute(String key):根据属性名称获取元素对象集合
 *    - getElementsByAttributeValue(String key,String value):根据对应的属性名和属性值获取元素对象集合
 * 2. 获取属性值
 *    - String attr(String key):根据属性名称获取属性值
 * 3. 获取文本内容
 *    - String text():获取所有子标签的纯文本内容
 *    - String html():获取标签体的所有内容（包括子标签的标签和文本内容）
 *
 * @author Mc.Chai
 * @program: JavaWeb
 * @create 2022-03-18-11:06 11:06
 */
public class ElementDemo {
    public static void main(String[] args) throws URISyntaxException, IOException {
        String path = JsoupDemo.class.getClassLoader().getResource("student.xml").toURI().getPath();
        Document document = Jsoup.parse(new File(path), "utf-8");
        Element element_user = document.getElementsByTag("user").get(0);
        Elements name = element_user.getElementsByTag("name");
        System.out.println("name标签的数量"+name.size());
        System.out.println("----------------");
        //String attr(String key)
        String aClass = element_user.attr("class");
        System.out.println(aClass);
        System.out.println("------------------");
        //获取所有子标签的纯文本内容
        String text = element_user.text();
        System.out.println(text);
        String html = element_user.html();
        System.out.println(html);
    }
}
